/**
* 日期格式化
*/
function dateFormat (date, format) {
format = format || 'yyyy-MM-dd hh:mm:ss'
if (date !== 'Invalid Date') {
const o = {
'M+': date.getMonth() + 1, // month
'd+': date.getDate(), // day
'h+': date.getHours(), // hour
'm+': date.getMinutes(), // minute
's+': date.getSeconds(), // second
'q+': Math.floor((date.getMonth() + 3) / 3), // quarter
S: date.getMilliseconds() // millisecond
}
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1,
(date.getFullYear() + '').substr(4 - RegExp.$1.length))
}
for (const k in o) {
if (new RegExp('(' + k + ')').test(format)) {
format = format.replace(RegExp.$1,
RegExp.$1.length === 1 ? o[k]
: ('00' + o[k]).substr(('' + o[k]).length))
}
}
return format
}
return ''
}

/**
 * 
 * @param {Date} date 日期，默认当前时间
 * @param {int} flag 1 日期+时间 2 日期 默认2
 * @returns 
 */
function getFormatDate(date, flag) {
  if(!date){
    date = new Date();
  }
  var month = date.getMonth() + 1;
  var strDate = date.getDate();
  if (month >= 1 && month <= 9) {
    month = "0" + month;
  }
  if (strDate >= 0 && strDate <= 9) {
    strDate = "0" + strDate;
  }
  var currentDate = '';
  if (flag === 1) {
    currentDate = date.getFullYear() + "-" + month + "-" + strDate
      + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
  } else if(flag == 8){
    currentDate = date.getFullYear() + "" + month + "" + strDate
      + "" + date.getHours() + "" + date.getMinutes() + "" + date.getSeconds();
  }else{
    currentDate = date.getFullYear() + "-" + month + "-" + strDate;
  }
  return currentDate;
}

/**
 * 
 * @param {int} number 天数
 * @param {int} flag 返回格式 1 日期+时间 2 日期 默认2
 */
function getDateBefore(number, flag){
  let beforeDate = new Date(new Date().getTime() - (number*24)*60*60*1000)
  return getFormatDate(beforeDate, flag)
}

export {dateFormat, getFormatDate, getDateBefore}